package com.wmyg.antifake.utils;

import com.wmyg.antifake.entity.Product;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author 王卓逸
 * @program TODO
 * @description TODO
 * @create 2019-05-08
 */
@Slf4j
public class ProductHashUtil {

    public static String hashProduct(Product product) {
//        String logo = product.getProductLogo();
//        String picString = product.getProductPics();
//        try {
//            if (!StringUtils.isBlank(logo)) {
//                product.setProductLogo(logo + "&"
//                                + DigestUtils.md5Hex(
//                                        new FileInputStream(
//                                                logo.substring(0, logo.indexOf("&"))
//                                        )
//                                )
//                        );
//            }
//            if (!StringUtils.isBlank(picString)) {
//                String[] pics = picString.split(",");
//                List<String> picList = new ArrayList<>();
//                for (String pic :
//                        pics) {
//                    picList.add(pic + "&"
//                                    + DigestUtils.md5Hex(
//                                            new FileInputStream(
//                                                    pic.substring(0, pic.indexOf("&"))
//                                            )
//                                    )
//                            );
//                }
//                product.setProductPics(StringUtils.join(picList.toArray(), ","));
//            }
//            return Integer.toString(product.hashCode());
//        } catch (IOException e) {
//            log.error("Can't find the picture one of the product", product.getProductId());
//        }
//        return null;
        return Integer.toString(product.hashCode());
    }

}
